package com.wg.net.server.tcp.init;

import io.netty.channel.ChannelHandlerContext;

/**
 * 初始化处理器接口（定义协议连接后的初始化逻辑）
 * <p>
 * 职责：在TCP/WebSocket连接建立后，初始化ChannelPipeline中的处理器链，
 * 并触发业务处理器的激活逻辑（如SocketServerHandler的channelActive）。
 * <p>
 * 调用时机：由协议解码器（如InitializeDecoder）在识别协议类型后调用。
 *
 * @author 少爷123
 */
public interface InitializeHandler {

    /**
     * 处理协议连接的初始化逻辑（添加处理器、激活业务处理器等）
     *
     * @param ctx 当前连接的Channel上下文（包含ChannelPipeline等信息）
     * @throws Exception 初始化过程中发生的异常（如处理器添加失败）
     */
    void handle(ChannelHandlerContext ctx) throws Exception;
}